<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Overview of the Jacobi Elliptic Functions</title>
<link rel="stylesheet" href="../../math.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="../../index.html" title="Math Toolkit 3.3.0">
<link rel="up" href="../jacobi.html" title="Jacobi Elliptic Functions">
<link rel="prev" href="../jacobi.html" title="Jacobi Elliptic Functions">
<link rel="next" href="jacobi_elliptic.html" title="Jacobi Elliptic SN, CN and DN">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
<td align="center"><a href="../../../../../../index.html">Home</a></td>
<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="../jacobi.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../jacobi.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="jacobi_elliptic.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="math_toolkit.jacobi.jac_over"></a><a class="link" href="jac_over.html" title="Overview of the Jacobi Elliptic Functions">Overview of the Jacobi
      Elliptic Functions</a>
</h3></div></div></div>
<p>
        There are twelve Jacobi Elliptic functions, of which the three copolar functions
        <span class="emphasis"><em>sn</em></span>, <span class="emphasis"><em>cn</em></span> and <span class="emphasis"><em>dn</em></span>
        are the most important as the other nine can be computed from these three
        <a href="#ftn.math_toolkit.jacobi.jac_over.f0" class="footnote" name="math_toolkit.jacobi.jac_over.f0"><sup class="footnote">[5]</sup></a> <a href="#ftn.math_toolkit.jacobi.jac_over.f1" class="footnote" name="math_toolkit.jacobi.jac_over.f1"><sup class="footnote">[6]</sup></a> <a href="#ftn.math_toolkit.jacobi.jac_over.f2" class="footnote" name="math_toolkit.jacobi.jac_over.f2"><sup class="footnote">[7]</sup></a>.
      </p>
<p>
        These functions each take two arguments: a parameter, and a variable as described
        below.
      </p>
<p>
        Like all elliptic functions these can be parameterised in a number of ways:
      </p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem">
            In terms of a parameter <span class="emphasis"><em>m</em></span>.
          </li>
<li class="listitem">
            In terms of the elliptic modulus <span class="emphasis"><em>k</em></span> where <span class="emphasis"><em>m
            = k<sup>2</sup></em></span>.
          </li>
<li class="listitem">
            In terms of the modular angle α, where <span class="emphasis"><em>m = sin<sup>2</sup>  α</em></span>.
          </li>
</ul></div>
<p>
        In our implementation, these functions all take the elliptic modulus <span class="emphasis"><em>k</em></span>
        as the parameter.
      </p>
<p>
        In addition the variable <span class="emphasis"><em>u</em></span> is sometimes expressed as
        an amplitude φ, in our implementation we always use <span class="emphasis"><em>u</em></span>.
      </p>
<p>
        Finally note that our functions all take the elliptic modulus <span class="emphasis"><em>k</em></span>
        as the <span class="bold"><strong>first</strong></span> argument - this is for alignment
        with the Elliptic Integrals (but is different from other implementations,
        for example Mathworks).
      </p>
<p>
        A simple example comparing use of <a href="http://www.wolframalpha.com/" target="_top">Wolfram
        Alpha</a> with Boost.Math (including much higher precision using Boost.Multiprecision)
        is <a href="../../../../example/jacobi_zeta_example.cpp" target="_top">jacobi_zeta_example.cpp</a>.
      </p>
<p>
        There are twelve functions for computing the twelve individual Jacobi elliptic
        functions: <a class="link" href="jacobi_cd.html" title="Jacobi Elliptic Function cd">jacobi_cd</a>,
        <a class="link" href="jacobi_cn.html" title="Jacobi Elliptic Function cn">jacobi_cn</a>, <a class="link" href="jacobi_cs.html" title="Jacobi Elliptic Function cs">jacobi_cs</a>,
        <a class="link" href="jacobi_dc.html" title="Jacobi Elliptic Function dc">jacobi_dc</a>, <a class="link" href="jacobi_dn.html" title="Jacobi Elliptic Function dn">jacobi_dn</a>,
        <a class="link" href="jacobi_ds.html" title="Jacobi Elliptic Function ds">jacobi_ds</a>, <a class="link" href="jacobi_nc.html" title="Jacobi Elliptic Function nc">jacobi_nc</a>,
        <a class="link" href="jacobi_nd.html" title="Jacobi Elliptic Function nd">jacobi_nd</a>, <a class="link" href="jacobi_ns.html" title="Jacobi Elliptic Function ns">jacobi_ns</a>,
        <a class="link" href="jacobi_sc.html" title="Jacobi Elliptic Function sc">jacobi_sc</a>, <a class="link" href="jacobi_sd.html" title="Jacobi Elliptic Function sd">jacobi_sd</a>
        and <a class="link" href="jacobi_sn.html" title="Jacobi Elliptic Function sn">jacobi_sn</a>.
      </p>
<p>
        They are all called as for example:
      </p>
<pre class="programlisting"><span class="identifier">jacobi_cs</span><span class="special">(</span><span class="identifier">k</span><span class="special">,</span> <span class="identifier">u</span><span class="special">);</span>
</pre>
<p>
        Note however that these individual functions are all really thin wrappers
        around the function <a class="link" href="jacobi_elliptic.html" title="Jacobi Elliptic SN, CN and DN">jacobi_elliptic</a>
        which calculates the three copolar functions <span class="emphasis"><em>sn</em></span>, <span class="emphasis"><em>cn</em></span>
        and <span class="emphasis"><em>dn</em></span> in a single function call.
      </p>
<div class="tip"><table border="0" summary="Tip">
<tr>
<td rowspan="2" align="center" valign="top" width="25"><img alt="[Tip]" src="../../../../../../doc/src/images/tip.png"></td>
<th align="left">Tip</th>
</tr>
<tr><td align="left" valign="top"><p>
          If you need more than one of these functions for a given set of arguments,
          it's most efficient to use <a class="link" href="jacobi_elliptic.html" title="Jacobi Elliptic SN, CN and DN">jacobi_elliptic</a>.
        </p></td></tr>
</table></div>
<div class="footnotes">
<br><hr style="width:100; text-align:left;margin-left: 0">
<div id="ftn.math_toolkit.jacobi.jac_over.f0" class="footnote"><p><a href="#math_toolkit.jacobi.jac_over.f0" class="para"><sup class="para">[5] </sup></a>
          <a href="http://en.wikipedia.org/wiki/Jacobi_elliptic_functions" target="_top">Wikipedia:
          Jacobi elliptic functions</a>
        </p></div>
<div id="ftn.math_toolkit.jacobi.jac_over.f1" class="footnote"><p><a href="#math_toolkit.jacobi.jac_over.f1" class="para"><sup class="para">[6] </sup></a>
          <a href="http://mathworld.wolfram.com/JacobiEllipticFunctions.html" target="_top">Weisstein,
          Eric W. "Jacobi Elliptic Functions." From MathWorld - A Wolfram
          Web Resource.</a>
        </p></div>
<div id="ftn.math_toolkit.jacobi.jac_over.f2" class="footnote"><p><a href="#math_toolkit.jacobi.jac_over.f2" class="para"><sup class="para">[7] </sup></a>
          <a href="http://dlmf.nist.gov/22" target="_top">Digital Library of Mathematical Functions:
          Jacobian Elliptic Functions, Reinhardt, W. P., Walker, O. L.</a>
        </p></div>
</div>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright © 2006-2021 Nikhar Agrawal, Anton Bikineev, Matthew Borland,
      Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert Holin, Bruno
      Lalande, John Maddock, Evan Miller, Jeremy Murphy, Matthew Pulver, Johan Råde,
      Gautam Sewani, Benjamin Sobotta, Nicholas Thompson, Thijs van den Berg, Daryle
      Walker and Xiaogang Zhang<p>
        Distributed under the Boost Software License, Version 1.0. (See accompanying
        file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
      </p>
</div></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="../jacobi.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../jacobi.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="jacobi_elliptic.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
</body>
</html>
